Component({
  properties: {
    description:{
      type:String,
      default:''
    },
    value:{
      type:String,
      default:''
    },
    errorMessage:{
      type:String,
      default:''
    },
    rules:{
      type:Array,
      value:''
    },
    disabled:{
      type:Boolean,
      value:false
    },
    placeholder:{
      type:String,
      value:''
    }
  },
  /**
   * 组件的初始数据
   */
  data: {
    isError:false
  },
  /**
   * 组件的方法列表
   */
  methods: {
    OnInput:function(e){
      this.setData({
        value: e.detail.value
      })
      this._handleRules()

    },
    _handleRules(){ 
      if(this.properties.rules){
        this.properties.rules.forEach(rule=>{
          this._handleRule(rule)
        })
      } 
    },
    _handleRule(rule){
      switch(rule.type){
        case 'flowRate' : this._checkFlowRate();break;
        case 'radius' : this._checkRadius();break;
      }
    },
    _checkFlowRate(){
      var reg= /^[0-9]{1,3}$/;
      if(!this.properties.value.match(reg)){
        this.setData({
          isError:true
        })
      }else{
        this.setData({
          isError:false
        })
      }
    },
    _checkRadius(){
      var reg = /^[+]{0,1}(\d+)$|^[+]{0,1}(\d+\.\d+)$/
      if(!this.properties.value.match(reg)){
        this.setData({
          isError:true
        })
      }else{
        this.setData({
          isError:false
        })
      }
    }

  }
})
